/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package stack;

/**
 *
 * @author Mardiego
 */
public class SimplementeEncadenadas<E> extends CadenaGeneral<E> {
 //atributos de las cadenas simples
 public Nodo<E> head;
 public int contador;
    
 public SimplementeEncadenadas()
 {
     //Crea una nueva cadena simple
     head=null;
     contador=0;
 }
 public int size()
 {
     return contador;
 }
 
 public E peek()
 {
     try
     {
     return head.darValor();
     }
     catch(Exception e)
     {
         return null;
     }
 }
 public E pop()
 {
     if (contador!=0)
        {
            contador--;
        }
     Nodo<E> temp=head;
     head=head.darSiguiente();
     return temp.darValor();
 }

    @Override
    public void push(Object item) 
    {
        Nodo<E> temp=head;
        head=new Nodo<E>((E) item, head);
        head.setSiguiente(temp);
        contador++;
    }
}
